home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1997-08-12  |  78.1 KB  |  2,665 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        ImageCompression.a
  3. ;
  4. ;    Contains:    QuickTime Image Compression Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 2.5
  7. ;                Release:    Universal Interfaces 3.0.1
  8. ;
  9. ;    Copyright:    © 1990-1997 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  19. __IMAGECOMPRESSION__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  25.     include 'Quickdraw.a'
  26.     ENDIF
  27.     IF &TYPE('__QDOFFSCREEN__') = 'UNDEFINED' THEN
  28.     include 'QDOffscreen.a'
  29.     ENDIF
  30.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  31.     include 'Components.a'
  32.     ENDIF
  33.     IF &TYPE('__STANDARDFILE__') = 'UNDEFINED' THEN
  34.     include 'StandardFile.a'
  35.     ENDIF
  36.  
  37. MatrixRecord            RECORD 0
  38. matrix                     ds.l    3 * 3            ; offset: $0 (0)
  39. sizeof                     EQU *                    ; size:   $24 (36)
  40.                         ENDR
  41. ; typedef struct MatrixRecord *            MatrixRecordPtr
  42.  
  43.  
  44. FixedPoint                RECORD 0
  45. x                         ds.l    1                ; offset: $0 (0)
  46. y                         ds.l    1                ; offset: $4 (4)
  47. sizeof                     EQU *                    ; size:   $8 (8)
  48.                         ENDR
  49.  
  50. FixedRect                RECORD 0
  51. left                     ds.l    1                ; offset: $0 (0)
  52. top                         ds.l    1                ; offset: $4 (4)
  53. right                     ds.l    1                ; offset: $8 (8)
  54. bottom                     ds.l    1                ; offset: $C (12)
  55. sizeof                     EQU *                    ; size:   $10 (16)
  56.                         ENDR
  57.  
  58. kRawCodecType                    EQU        'raw '
  59. kCinepakCodecType                EQU        'cvid'
  60. kGraphicsCodecType                EQU        'smc '
  61. kAnimationCodecType                EQU        'rle '
  62. kVideoCodecType                    EQU        'rpza'
  63. kComponentVideoCodecType        EQU        'yuv2'
  64. kJPEGCodecType                    EQU        'jpeg'
  65. kMotionJPEGACodecType            EQU        'mjpa'
  66. kMotionJPEGBCodecType            EQU        'mjpb'
  67. kSGICodecType                    EQU        '.SGI'
  68. kPlanarRGBCodecType                EQU        '8BPS'
  69. kMacPaintCodecType                EQU        'PNTG'
  70. kGIFCodecType                    EQU        'gif '
  71. kPhotoCDCodecType                EQU        'kpcd'
  72. kQuickDrawGXCodecType            EQU        'qdgx'
  73.  
  74.  
  75.  
  76. ;  These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  77.  
  78. codecInfoDoes1                    EQU        $00000001
  79. codecInfoDoes2                    EQU        $00000002
  80. codecInfoDoes4                    EQU        $00000004
  81. codecInfoDoes8                    EQU        $00000008
  82. codecInfoDoes16                    EQU        $00000010
  83. codecInfoDoes32                    EQU        $00000020
  84. codecInfoDoesDither                EQU        $00000040
  85. codecInfoDoesStretch            EQU        $00000080
  86. codecInfoDoesShrink                EQU        $00000100
  87. codecInfoDoesMask                EQU        $00000200
  88. codecInfoDoesTemporal            EQU        $00000400
  89. codecInfoDoesDouble                EQU        $00000800
  90. codecInfoDoesQuad                EQU        $00001000
  91. codecInfoDoesHalf                EQU        $00002000
  92. codecInfoDoesQuarter            EQU        $00004000
  93. codecInfoDoesRotate                EQU        $00008000
  94. codecInfoDoesHorizFlip            EQU        $00010000
  95. codecInfoDoesVertFlip            EQU        $00020000
  96. codecInfoDoesSkew                EQU        $00040000
  97. codecInfoDoesBlend                EQU        $00080000
  98. codecInfoDoesWarp                EQU        $00100000
  99. codecInfoDoesRecompress            EQU        $00200000
  100. codecInfoDoesSpool                EQU        $00400000
  101. codecInfoDoesRateConstrain        EQU        $00800000
  102.  
  103.  
  104. codecInfoDepth1                    EQU        $00000001
  105. codecInfoDepth2                    EQU        $00000002
  106. codecInfoDepth4                    EQU        $00000004
  107. codecInfoDepth8                    EQU        $00000008
  108. codecInfoDepth16                EQU        $00000010
  109. codecInfoDepth32                EQU        $00000020
  110. codecInfoDepth24                EQU        $00000040
  111. codecInfoDepth33                EQU        $00000080
  112. codecInfoDepth34                EQU        $00000100
  113. codecInfoDepth36                EQU        $00000200
  114. codecInfoDepth40                EQU        $00000400
  115. codecInfoStoresClut                EQU        $00000800
  116. codecInfoDoesLossless            EQU        $00001000
  117. codecInfoSequenceSensitive        EQU        $00002000
  118.  
  119. codecFlagUseImageBuffer            EQU        $00000001
  120. codecFlagUseScreenBuffer        EQU        $00000002
  121. codecFlagUpdatePrevious            EQU        $00000004
  122. codecFlagNoScreenUpdate            EQU        $00000008
  123. codecFlagWasCompressed            EQU        $00000010
  124. codecFlagDontOffscreen            EQU        $00000020
  125. codecFlagUpdatePreviousComp        EQU        $00000040
  126. codecFlagForceKeyFrame            EQU        $00000080
  127. codecFlagOnlyScreenUpdate        EQU        $00000100
  128. codecFlagLiveGrab                EQU        $00000200
  129. codecFlagDontUseNewImageBuffer    EQU        $00000400
  130. codecFlagInterlaceUpdate        EQU        $00000800
  131. codecFlagCatchUpDiff            EQU        $00001000
  132. codecFlagImageBufferNotSourceImage EQU    $00002000
  133. codecFlagUsedNewImageBuffer        EQU        $00004000
  134. codecFlagUsedImageBuffer        EQU        $00008000
  135.  
  136.  
  137.  
  138.                                                             ; The minimum data size for spooling in or out data 
  139. codecMinimumDataSize            EQU        32768
  140.  
  141.  
  142. compressorComponentType            EQU        'imco'                ; the type for "Components" which compress images 
  143. decompressorComponentType        EQU        'imdc'                ; the type for "Components" which decompress images 
  144. ; typedef Component                     CompressorComponent
  145.  
  146. ; typedef Component                     DecompressorComponent
  147.  
  148. ; typedef Component                     CodecComponent
  149.  
  150.  
  151. anyCodec                        EQU        0                    ; take first working codec of given type 
  152. bestSpeedCodec                    EQU        -1                    ; take fastest codec of given type 
  153. bestFidelityCodec                EQU        -2                    ; take codec which is most accurate 
  154. bestCompressionCodec            EQU        -3                    ; take codec of given type that is most accurate 
  155. ; typedef long                             CodecType
  156.  
  157. ; typedef unsigned short                 CodecFlags
  158.  
  159. ; typedef unsigned long                 CodecQ
  160.  
  161.  
  162. codecLosslessQuality            EQU        $00000400
  163. codecMaxQuality                    EQU        $000003FF
  164. codecMinQuality                    EQU        $00000000
  165. codecLowQuality                    EQU        $00000100
  166. codecNormalQuality                EQU        $00000200
  167. codecHighQuality                EQU        $00000300
  168.  
  169. codecCompletionSource            EQU        $01                    ; asynchronous codec is done with source data 
  170. codecCompletionDest                EQU        $02                    ; asynchronous codec is done with destination data 
  171. codecCompletionDontUnshield        EQU        $04                    ; on dest complete don't unshield cursor 
  172.  
  173. codecProgressOpen                EQU        0
  174. codecProgressUpdatePercent        EQU        1
  175. codecProgressClose                EQU        2
  176. ; typedef void *                        ICMCursorNotify
  177.  
  178. ; typedef long                             ImageSequence
  179.  
  180. ; typedef long                             ImageSequenceDataSource
  181.  
  182. ; typedef long                             ImageTranscodeSequence
  183.  
  184. ; typedef long                             ImageFieldSequence
  185.  
  186. ICMProgressProcRecord    RECORD 0
  187. progressProc             ds.l    1                ; offset: $0 (0)
  188. progressRefCon             ds.l    1                ; offset: $4 (4)
  189. sizeof                     EQU *                    ; size:   $8 (8)
  190.                         ENDR
  191. ; typedef struct ICMProgressProcRecord * ICMProgressProcRecordPtr
  192.  
  193. ICMCompletionProcRecord    RECORD 0
  194. completionProc             ds.l    1                ; offset: $0 (0)
  195. completionRefCon         ds.l    1                ; offset: $4 (4)
  196. sizeof                     EQU *                    ; size:   $8 (8)
  197.                         ENDR
  198. ; typedef struct ICMCompletionProcRecord * ICMCompletionProcRecordPtr
  199.  
  200. ICMDataProcRecord        RECORD 0
  201. dataProc                 ds.l    1                ; offset: $0 (0)
  202. dataRefCon                 ds.l    1                ; offset: $4 (4)
  203. sizeof                     EQU *                    ; size:   $8 (8)
  204.                         ENDR
  205. ; typedef struct ICMDataProcRecord *    ICMDataProcRecordPtr
  206.  
  207. ICMFlushProcRecord        RECORD 0
  208. flushProc                 ds.l    1                ; offset: $0 (0)
  209. flushRefCon                 ds.l    1                ; offset: $4 (4)
  210. sizeof                     EQU *                    ; size:   $8 (8)
  211.                         ENDR
  212. ; typedef struct ICMFlushProcRecord *    ICMFlushProcRecordPtr
  213.  
  214. ICMAlignmentProcRecord    RECORD 0
  215. alignmentProc             ds.l    1                ; offset: $0 (0)
  216. alignmentRefCon             ds.l    1                ; offset: $4 (4)
  217. sizeof                     EQU *                    ; size:   $8 (8)
  218.                         ENDR
  219. ; typedef struct ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr
  220.  
  221. DataRateParams            RECORD 0
  222. dataRate                 ds.l    1                ; offset: $0 (0)
  223. dataOverrun                 ds.l    1                ; offset: $4 (4)
  224. frameDuration             ds.l    1                ; offset: $8 (8)
  225. keyFrameRate             ds.l    1                ; offset: $C (12)
  226. minSpatialQuality         ds.l    1                ; offset: $10 (16)
  227. minTemporalQuality         ds.l    1                ; offset: $14 (20)
  228. sizeof                     EQU *                    ; size:   $18 (24)
  229.                         ENDR
  230. ; typedef struct DataRateParams *        DataRateParamsPtr
  231.  
  232. ImageDescription        RECORD 0
  233. idSize                     ds.l    1                ; offset: $0 (0)        ;  total size of ImageDescription including extra data ( CLUTs and other per sequence data ) 
  234. cType                     ds.l    1                ; offset: $4 (4)        ;  what kind of codec compressed this data 
  235. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for Apple use 
  236. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for Apple use 
  237. dataRefIndex             ds.w    1                ; offset: $E (14)        ;  set to zero  
  238. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  239. revisionLevel             ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  240. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  241. temporalQuality             ds.l    1                ; offset: $18 (24)        ;  what was the temporal quality factor  
  242. spatialQuality             ds.l    1                ; offset: $1C (28)        ;  what was the spatial quality factor 
  243. width                     ds.w    1                ; offset: $20 (32)        ;  how many pixels wide is this data 
  244. height                     ds.w    1                ; offset: $22 (34)        ;  how many pixels high is this data 
  245. hRes                     ds.l    1                ; offset: $24 (36)        ;  horizontal resolution 
  246. vRes                     ds.l    1                ; offset: $28 (40)        ;  vertical resolution 
  247. dataSize                 ds.l    1                ; offset: $2C (44)        ;  if known, the size of data for this image descriptor 
  248. frameCount                 ds.w    1                ; offset: $30 (48)        ;  number of frames this description applies to 
  249. name                     ds        Str31            ; offset: $32 (50)        ;  name of codec ( in case not installed )  
  250. depth                     ds.w    1                ; offset: $52 (82)        ;  what depth is this data (1-32) or ( 33-40 grayscale ) 
  251. clutID                     ds.w    1                ; offset: $54 (84)        ;  clut id or if 0 clut follows  or -1 if no clut 
  252. sizeof                     EQU *                    ; size:   $56 (86)
  253.                         ENDR
  254. ; typedef struct ImageDescription *        ImageDescriptionPtr
  255.  
  256. ; typedef ImageDescriptionPtr *            ImageDescriptionHandle
  257.  
  258. CodecInfo                RECORD 0
  259. typeName                 ds        Str31            ; offset: $0 (0)        ;  name of the codec type i.e.: 'Apple Image Compression' 
  260. version                     ds.w    1                ; offset: $20 (32)        ;  version of the codec data that this codec knows about 
  261. revisionLevel             ds.w    1                ; offset: $22 (34)        ;  revision level of this codec i.e: 0x00010001 (1.0.1) 
  262. vendor                     ds.l    1                ; offset: $24 (36)        ;  Maker of this codec i.e: 'appl' 
  263. decompressFlags             ds.l    1                ; offset: $28 (40)        ;  codecInfo flags for decompression capabilities 
  264. compressFlags             ds.l    1                ; offset: $2C (44)        ;  codecInfo flags for compression capabilities 
  265. formatFlags                 ds.l    1                ; offset: $30 (48)        ;  codecInfo flags for compression format details 
  266. compressionAccuracy         ds.b    1                ; offset: $34 (52)        ;  measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  267. decompressionAccuracy     ds.b    1                ; offset: $35 (53)        ;  measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  268. compressionSpeed         ds.w    1                ; offset: $36 (54)        ;  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  
  269. decompressionSpeed         ds.w    1                ; offset: $38 (56)        ;  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  
  270. compressionLevel         ds.b    1                ; offset: $3A (58)        ;  measure (1-255) of compression level of this codec (0 if unknown)  
  271. resvd                     ds.b    1                ; offset: $3B (59)        ;  pad 
  272. minimumHeight             ds.w    1                ; offset: $3C (60)        ;  minimum height of image (block size) 
  273. minimumWidth             ds.w    1                ; offset: $3E (62)        ;  minimum width of image (block size) 
  274. decompressPipelineLatency  ds.w    1                ; offset: $40 (64)        ;  in milliseconds ( for asynchronous codecs ) 
  275. compressPipelineLatency     ds.w    1                ; offset: $42 (66)        ;  in milliseconds ( for asynchronous codecs ) 
  276. privateData                 ds.l    1                ; offset: $44 (68)
  277. sizeof                     EQU *                    ; size:   $48 (72)
  278.                         ENDR
  279. CodecNameSpec            RECORD 0
  280. codec                     ds.l    1                ; offset: $0 (0)
  281. cType                     ds.l    1                ; offset: $4 (4)
  282. typeName                 ds        Str31            ; offset: $8 (8)
  283. name                     ds.l    1                ; offset: $28 (40)
  284. sizeof                     EQU *                    ; size:   $2C (44)
  285.                         ENDR
  286. CodecNameSpecList        RECORD 0
  287. count                     ds.w    1                ; offset: $0 (0)
  288. list                     ds        CodecNameSpec    ; offset: $2 (2) <-- really an array of length one
  289. sizeof                     EQU *                    ; size:   $2E (46)
  290.                         ENDR
  291. ; typedef struct CodecNameSpecList *    CodecNameSpecListPtr
  292.  
  293.  
  294. defaultDither                    EQU        0
  295. forceDither                        EQU        1
  296. suppressDither                    EQU        2
  297. useColorMatching                EQU        4
  298.  
  299. callStdBits                        EQU        1
  300. callOldBits                        EQU        2
  301. noDefaultOpcodes                EQU        4
  302.  
  303. graphicsModeStraightAlpha        EQU        256
  304. graphicsModePreWhiteAlpha        EQU        257
  305. graphicsModePreBlackAlpha        EQU        258
  306. graphicsModeCompostion            EQU        259
  307. graphicsModeStraightAlphaBlend    EQU        260
  308.  
  309. evenField1ToEvenFieldOut        EQU        $01
  310. evenField1ToOddFieldOut            EQU        $02
  311. oddField1ToEvenFieldOut            EQU        $04
  312. oddField1ToOddFieldOut            EQU        $08
  313. evenField2ToEvenFieldOut        EQU        $10
  314. evenField2ToOddFieldOut            EQU        $20
  315. oddField2ToEvenFieldOut            EQU        $40
  316. oddField2ToOddFieldOut            EQU        $80
  317. ICMFrameTimeRecord        RECORD 0
  318. value                     ds        wide            ; offset: $0 (0)        ;  frame time
  319. scale                     ds.l    1                ; offset: $8 (8)        ;  timescale of value/duration fields
  320. base                     ds.l    1                ; offset: $C (12)        ;  timebase
  321. duration                 ds.l    1                ; offset: $10 (16)        ;  duration frame is to be displayed (0 if unknown)
  322. rate                     ds.l    1                ; offset: $14 (20)        ;  rate of timebase relative to wall-time
  323. recordSize                 ds.l    1                ; offset: $18 (24)        ;  total number of bytes in ICMFrameTimeRecord
  324. frameNumber                 ds.l    1                ; offset: $1C (28)        ;  number of frame, zero if not known
  325. sizeof                     EQU *                    ; size:   $20 (32)
  326.                         ENDR
  327. ; typedef struct ICMFrameTimeRecord *    ICMFrameTimePtr
  328.  
  329.  
  330. ;
  331. ; pascal OSErr CodecManagerVersion(long *version)
  332. ;
  333.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  334.         Macro
  335.         _CodecManagerVersion
  336.             moveq               #0,D0
  337.             dc.w                $AAA3
  338.         EndM
  339.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  340.         IMPORT_CFM_FUNCTION CodecManagerVersion
  341.     ENDIF
  342.  
  343. ;
  344. ; pascal OSErr GetCodecNameList(CodecNameSpecListPtr *list, short showAll)
  345. ;
  346.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  347.         Macro
  348.         _GetCodecNameList
  349.             moveq               #1,D0
  350.             dc.w                $AAA3
  351.         EndM
  352.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  353.         IMPORT_CFM_FUNCTION GetCodecNameList
  354.     ENDIF
  355.  
  356. ;
  357. ; pascal OSErr DisposeCodecNameList(CodecNameSpecListPtr list)
  358. ;
  359.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  360.         Macro
  361.         _DisposeCodecNameList
  362.             moveq               #15,D0
  363.             dc.w                $AAA3
  364.         EndM
  365.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  366.         IMPORT_CFM_FUNCTION DisposeCodecNameList
  367.     ENDIF
  368.  
  369. ;
  370. ; pascal OSErr GetCodecInfo(CodecInfo *info, CodecType cType, CodecComponent codec)
  371. ;
  372.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  373.         Macro
  374.         _GetCodecInfo
  375.             moveq               #3,D0
  376.             dc.w                $AAA3
  377.         EndM
  378.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  379.         IMPORT_CFM_FUNCTION GetCodecInfo
  380.     ENDIF
  381.  
  382. ;
  383. ; pascal OSErr GetMaxCompressionSize(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size)
  384. ;
  385.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  386.         Macro
  387.         _GetMaxCompressionSize
  388.             moveq               #4,D0
  389.             dc.w                $AAA3
  390.         EndM
  391.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  392.         IMPORT_CFM_FUNCTION GetMaxCompressionSize
  393.     ENDIF
  394.  
  395. ;
  396. ; pascal OSErr GetCSequenceMaxCompressionSize(ImageSequence seqID, PixMapHandle src, long *size)
  397. ;
  398.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  399.         Macro
  400.         _GetCSequenceMaxCompressionSize
  401.             move.l              #$000C0074,D0
  402.             dc.w                $AAA3
  403.         EndM
  404.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  405.         IMPORT_CFM_FUNCTION GetCSequenceMaxCompressionSize
  406.     ENDIF
  407.  
  408. ;
  409. ; pascal OSErr GetCompressionTime(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime)
  410. ;
  411.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  412.         Macro
  413.         _GetCompressionTime
  414.             moveq               #5,D0
  415.             dc.w                $AAA3
  416.         EndM
  417.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  418.         IMPORT_CFM_FUNCTION GetCompressionTime
  419.     ENDIF
  420.  
  421. ;
  422. ; pascal OSErr CompressImage(PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data)
  423. ;
  424.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  425.         Macro
  426.         _CompressImage
  427.             moveq               #6,D0
  428.             dc.w                $AAA3
  429.         EndM
  430.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  431.         IMPORT_CFM_FUNCTION CompressImage
  432.     ENDIF
  433.  
  434. ;
  435. ; pascal OSErr FCompressImage(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle ctable, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data)
  436. ;
  437.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  438.         Macro
  439.         _FCompressImage
  440.             moveq               #7,D0
  441.             dc.w                $AAA3
  442.         EndM
  443.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  444.         IMPORT_CFM_FUNCTION FCompressImage
  445.     ENDIF
  446.  
  447. ;
  448. ; pascal OSErr DecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask)
  449. ;
  450.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  451.         Macro
  452.         _DecompressImage
  453.             moveq               #8,D0
  454.             dc.w                $AAA3
  455.         EndM
  456.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  457.         IMPORT_CFM_FUNCTION DecompressImage
  458.     ENDIF
  459.  
  460. ;
  461. ; pascal OSErr FDecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  462. ;
  463.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  464.         Macro
  465.         _FDecompressImage
  466.             moveq               #9,D0
  467.             dc.w                $AAA3
  468.         EndM
  469.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  470.         IMPORT_CFM_FUNCTION FDecompressImage
  471.     ENDIF
  472.  
  473. ;
  474. ; pascal OSErr CompressSequenceBegin(ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle ctable, CodecFlags flags, ImageDescriptionHandle desc)
  475. ;
  476.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  477.         Macro
  478.         _CompressSequenceBegin
  479.             moveq               #10,D0
  480.             dc.w                $AAA3
  481.         EndM
  482.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  483.         IMPORT_CFM_FUNCTION CompressSequenceBegin
  484.     ENDIF
  485.  
  486. ;
  487. ; pascal OSErr CompressSequenceFrame(ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc)
  488. ;
  489.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  490.         Macro
  491.         _CompressSequenceFrame
  492.             moveq               #11,D0
  493.             dc.w                $AAA3
  494.         EndM
  495.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  496.         IMPORT_CFM_FUNCTION CompressSequenceFrame
  497.     ENDIF
  498.  
  499. ;
  500. ; pascal OSErr DecompressSequenceBegin(ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  501. ;
  502.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  503.         Macro
  504.         _DecompressSequenceBegin
  505.             moveq               #13,D0
  506.             dc.w                $AAA3
  507.         EndM
  508.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  509.         IMPORT_CFM_FUNCTION DecompressSequenceBegin
  510.     ENDIF
  511.  
  512. ;
  513. ; pascal OSErr DecompressSequenceBeginS(ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  514. ;
  515.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  516.         Macro
  517.         _DecompressSequenceBeginS
  518.             move.l              #$0030005D,D0
  519.             dc.w                $AAA3
  520.         EndM
  521.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  522.         IMPORT_CFM_FUNCTION DecompressSequenceBeginS
  523.     ENDIF
  524.  
  525. ;
  526. ; pascal OSErr DecompressSequenceFrame(ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  527. ;
  528.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  529.         Macro
  530.         _DecompressSequenceFrame
  531.             moveq               #14,D0
  532.             dc.w                $AAA3
  533.         EndM
  534.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  535.         IMPORT_CFM_FUNCTION DecompressSequenceFrame
  536.     ENDIF
  537.  
  538. ;
  539. ; pascal OSErr DecompressSequenceFrameS(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  540. ;
  541.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  542.         Macro
  543.         _DecompressSequenceFrameS
  544.             move.l              #$00160047,D0
  545.             dc.w                $AAA3
  546.         EndM
  547.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  548.         IMPORT_CFM_FUNCTION DecompressSequenceFrameS
  549.     ENDIF
  550.  
  551. ;
  552. ; pascal OSErr DecompressSequenceFrameWhen(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime)
  553. ;
  554.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  555.         Macro
  556.         _DecompressSequenceFrameWhen
  557.             move.l              #$001A005E,D0
  558.             dc.w                $AAA3
  559.         EndM
  560.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  561.         IMPORT_CFM_FUNCTION DecompressSequenceFrameWhen
  562.     ENDIF
  563.  
  564. ;
  565. ; pascal OSErr CDSequenceFlush(ImageSequence seqID)
  566. ;
  567.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  568.         Macro
  569.         _CDSequenceFlush
  570.             move.l              #$0004005F,D0
  571.             dc.w                $AAA3
  572.         EndM
  573.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  574.         IMPORT_CFM_FUNCTION CDSequenceFlush
  575.     ENDIF
  576.  
  577. ;
  578. ; pascal OSErr SetDSequenceMatrix(ImageSequence seqID, MatrixRecordPtr matrix)
  579. ;
  580.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  581.         Macro
  582.         _SetDSequenceMatrix
  583.             moveq               #16,D0
  584.             dc.w                $AAA3
  585.         EndM
  586.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  587.         IMPORT_CFM_FUNCTION SetDSequenceMatrix
  588.     ENDIF
  589.  
  590. ;
  591. ; pascal OSErr SetDSequenceMatte(ImageSequence seqID, PixMapHandle matte, const Rect *matteRect)
  592. ;
  593.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  594.         Macro
  595.         _SetDSequenceMatte
  596.             moveq               #17,D0
  597.             dc.w                $AAA3
  598.         EndM
  599.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  600.         IMPORT_CFM_FUNCTION SetDSequenceMatte
  601.     ENDIF
  602.  
  603. ;
  604. ; pascal OSErr SetDSequenceMask(ImageSequence seqID, RgnHandle mask)
  605. ;
  606.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  607.         Macro
  608.         _SetDSequenceMask
  609.             moveq               #18,D0
  610.             dc.w                $AAA3
  611.         EndM
  612.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  613.         IMPORT_CFM_FUNCTION SetDSequenceMask
  614.     ENDIF
  615.  
  616. ;
  617. ; pascal OSErr SetDSequenceTransferMode(ImageSequence seqID, short mode, const RGBColor *opColor)
  618. ;
  619.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  620.         Macro
  621.         _SetDSequenceTransferMode
  622.             moveq               #19,D0
  623.             dc.w                $AAA3
  624.         EndM
  625.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  626.         IMPORT_CFM_FUNCTION SetDSequenceTransferMode
  627.     ENDIF
  628.  
  629. ;
  630. ; pascal OSErr SetDSequenceDataProc(ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize)
  631. ;
  632.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  633.         Macro
  634.         _SetDSequenceDataProc
  635.             moveq               #20,D0
  636.             dc.w                $AAA3
  637.         EndM
  638.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  639.         IMPORT_CFM_FUNCTION SetDSequenceDataProc
  640.     ENDIF
  641.  
  642. ;
  643. ; pascal OSErr SetDSequenceAccuracy(ImageSequence seqID, CodecQ accuracy)
  644. ;
  645.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  646.         Macro
  647.         _SetDSequenceAccuracy
  648.             moveq               #52,D0
  649.             dc.w                $AAA3
  650.         EndM
  651.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  652.         IMPORT_CFM_FUNCTION SetDSequenceAccuracy
  653.     ENDIF
  654.  
  655. ;
  656. ; pascal OSErr SetDSequenceSrcRect(ImageSequence seqID, const Rect *srcRect)
  657. ;
  658.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  659.         Macro
  660.         _SetDSequenceSrcRect
  661.             moveq               #53,D0
  662.             dc.w                $AAA3
  663.         EndM
  664.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  665.         IMPORT_CFM_FUNCTION SetDSequenceSrcRect
  666.     ENDIF
  667.  
  668.  
  669. ;
  670. ; pascal OSErr GetDSequenceImageBuffer(ImageSequence seqID, GWorldPtr *gworld)
  671. ;
  672.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  673.         Macro
  674.         _GetDSequenceImageBuffer
  675.             moveq               #21,D0
  676.             dc.w                $AAA3
  677.         EndM
  678.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  679.         IMPORT_CFM_FUNCTION GetDSequenceImageBuffer
  680.     ENDIF
  681.  
  682. ;
  683. ; pascal OSErr GetDSequenceScreenBuffer(ImageSequence seqID, GWorldPtr *gworld)
  684. ;
  685.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  686.         Macro
  687.         _GetDSequenceScreenBuffer
  688.             moveq               #22,D0
  689.             dc.w                $AAA3
  690.         EndM
  691.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  692.         IMPORT_CFM_FUNCTION GetDSequenceScreenBuffer
  693.     ENDIF
  694.  
  695. ;
  696. ; pascal OSErr SetCSequenceQuality(ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality)
  697. ;
  698.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  699.         Macro
  700.         _SetCSequenceQuality
  701.             moveq               #23,D0
  702.             dc.w                $AAA3
  703.         EndM
  704.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  705.         IMPORT_CFM_FUNCTION SetCSequenceQuality
  706.     ENDIF
  707.  
  708. ;
  709. ; pascal OSErr SetCSequencePrev(ImageSequence seqID, PixMapHandle prev, const Rect *prevRect)
  710. ;
  711.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  712.         Macro
  713.         _SetCSequencePrev
  714.             moveq               #24,D0
  715.             dc.w                $AAA3
  716.         EndM
  717.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  718.         IMPORT_CFM_FUNCTION SetCSequencePrev
  719.     ENDIF
  720.  
  721. ;
  722. ; pascal OSErr SetCSequenceFlushProc(ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize)
  723. ;
  724.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  725.         Macro
  726.         _SetCSequenceFlushProc
  727.             moveq               #51,D0
  728.             dc.w                $AAA3
  729.         EndM
  730.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  731.         IMPORT_CFM_FUNCTION SetCSequenceFlushProc
  732.     ENDIF
  733.  
  734. ;
  735. ; pascal OSErr SetCSequenceKeyFrameRate(ImageSequence seqID, long keyFrameRate)
  736. ;
  737.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  738.         Macro
  739.         _SetCSequenceKeyFrameRate
  740.             moveq               #54,D0
  741.             dc.w                $AAA3
  742.         EndM
  743.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  744.         IMPORT_CFM_FUNCTION SetCSequenceKeyFrameRate
  745.     ENDIF
  746.  
  747. ;
  748. ; pascal OSErr GetCSequenceKeyFrameRate(ImageSequence seqID, long *keyFrameRate)
  749. ;
  750.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  751.         Macro
  752.         _GetCSequenceKeyFrameRate
  753.             move.l              #$0008004B,D0
  754.             dc.w                $AAA3
  755.         EndM
  756.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  757.         IMPORT_CFM_FUNCTION GetCSequenceKeyFrameRate
  758.     ENDIF
  759.  
  760. ;
  761. ; pascal OSErr GetCSequencePrevBuffer(ImageSequence seqID, GWorldPtr *gworld)
  762. ;
  763.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  764.         Macro
  765.         _GetCSequencePrevBuffer
  766.             moveq               #25,D0
  767.             dc.w                $AAA3
  768.         EndM
  769.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  770.         IMPORT_CFM_FUNCTION GetCSequencePrevBuffer
  771.     ENDIF
  772.  
  773. ;
  774. ; pascal OSErr CDSequenceBusy(ImageSequence seqID)
  775. ;
  776.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  777.         Macro
  778.         _CDSequenceBusy
  779.             moveq               #26,D0
  780.             dc.w                $AAA3
  781.         EndM
  782.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  783.         IMPORT_CFM_FUNCTION CDSequenceBusy
  784.     ENDIF
  785.  
  786. ;
  787. ; pascal OSErr CDSequenceEnd(ImageSequence seqID)
  788. ;
  789.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  790.         Macro
  791.         _CDSequenceEnd
  792.             moveq               #27,D0
  793.             dc.w                $AAA3
  794.         EndM
  795.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  796.         IMPORT_CFM_FUNCTION CDSequenceEnd
  797.     ENDIF
  798.  
  799. ;
  800. ; pascal OSErr CDSequenceEquivalentImageDescription(ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent)
  801. ;
  802.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  803.         Macro
  804.         _CDSequenceEquivalentImageDescription
  805.             move.l              #$000C0065,D0
  806.             dc.w                $AAA3
  807.         EndM
  808.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  809.         IMPORT_CFM_FUNCTION CDSequenceEquivalentImageDescription
  810.     ENDIF
  811.  
  812. ;
  813. ; pascal OSErr GetCompressedImageSize(ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize)
  814. ;
  815.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  816.         Macro
  817.         _GetCompressedImageSize
  818.             moveq               #28,D0
  819.             dc.w                $AAA3
  820.         EndM
  821.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  822.         IMPORT_CFM_FUNCTION GetCompressedImageSize
  823.     ENDIF
  824.  
  825. ;
  826. ; pascal OSErr GetSimilarity(PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity)
  827. ;
  828.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  829.         Macro
  830.         _GetSimilarity
  831.             moveq               #29,D0
  832.             dc.w                $AAA3
  833.         EndM
  834.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  835.         IMPORT_CFM_FUNCTION GetSimilarity
  836.     ENDIF
  837.  
  838. ;
  839. ; pascal OSErr GetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle *ctable)
  840. ;
  841.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  842.         Macro
  843.         _GetImageDescriptionCTable
  844.             moveq               #30,D0
  845.             dc.w                $AAA3
  846.         EndM
  847.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  848.         IMPORT_CFM_FUNCTION GetImageDescriptionCTable
  849.     ENDIF
  850.  
  851. ;
  852. ; pascal OSErr SetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle ctable)
  853. ;
  854.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  855.         Macro
  856.         _SetImageDescriptionCTable
  857.             moveq               #31,D0
  858.             dc.w                $AAA3
  859.         EndM
  860.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  861.         IMPORT_CFM_FUNCTION SetImageDescriptionCTable
  862.     ENDIF
  863.  
  864. ;
  865. ; pascal OSErr GetImageDescriptionExtension(ImageDescriptionHandle desc, Handle *extension, long idType, long index)
  866. ;
  867.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  868.         Macro
  869.         _GetImageDescriptionExtension
  870.             moveq               #32,D0
  871.             dc.w                $AAA3
  872.         EndM
  873.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  874.         IMPORT_CFM_FUNCTION GetImageDescriptionExtension
  875.     ENDIF
  876.  
  877. ;
  878. ; pascal OSErr AddImageDescriptionExtension(ImageDescriptionHandle desc, Handle extension, long idType)
  879. ;
  880.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  881.         Macro
  882.         _AddImageDescriptionExtension
  883.             moveq               #33,D0
  884.             dc.w                $AAA3
  885.         EndM
  886.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  887.         IMPORT_CFM_FUNCTION AddImageDescriptionExtension
  888.     ENDIF
  889.  
  890.  
  891. ;
  892. ; pascal OSErr RemoveImageDescriptionExtension(ImageDescriptionHandle desc, long idType, long index)
  893. ;
  894.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  895.         Macro
  896.         _RemoveImageDescriptionExtension
  897.             move.l              #$000C003A,D0
  898.             dc.w                $AAA3
  899.         EndM
  900.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  901.         IMPORT_CFM_FUNCTION RemoveImageDescriptionExtension
  902.     ENDIF
  903.  
  904. ;
  905. ; pascal OSErr CountImageDescriptionExtensionType(ImageDescriptionHandle desc, long idType, long *count)
  906. ;
  907.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  908.         Macro
  909.         _CountImageDescriptionExtensionType
  910.             move.l              #$000C003B,D0
  911.             dc.w                $AAA3
  912.         EndM
  913.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  914.         IMPORT_CFM_FUNCTION CountImageDescriptionExtensionType
  915.     ENDIF
  916.  
  917. ;
  918. ; pascal OSErr GetNextImageDescriptionExtensionType(ImageDescriptionHandle desc, long *idType)
  919. ;
  920.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  921.         Macro
  922.         _GetNextImageDescriptionExtensionType
  923.             move.l              #$0008003C,D0
  924.             dc.w                $AAA3
  925.         EndM
  926.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  927.         IMPORT_CFM_FUNCTION GetNextImageDescriptionExtensionType
  928.     ENDIF
  929.  
  930. ;
  931. ; pascal OSErr FindCodec(CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor)
  932. ;
  933.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  934.         Macro
  935.         _FindCodec
  936.             moveq               #35,D0
  937.             dc.w                $AAA3
  938.         EndM
  939.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  940.         IMPORT_CFM_FUNCTION FindCodec
  941.     ENDIF
  942.  
  943. ;
  944. ; pascal OSErr CompressPicture(PicHandle srcPicture, PicHandle dstPicture, CodecQ quality, CodecType cType)
  945. ;
  946.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  947.         Macro
  948.         _CompressPicture
  949.             moveq               #36,D0
  950.             dc.w                $AAA3
  951.         EndM
  952.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  953.         IMPORT_CFM_FUNCTION CompressPicture
  954.     ENDIF
  955.  
  956. ;
  957. ; pascal OSErr FCompressPicture(PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  958. ;
  959.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  960.         Macro
  961.         _FCompressPicture
  962.             moveq               #37,D0
  963.             dc.w                $AAA3
  964.         EndM
  965.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  966.         IMPORT_CFM_FUNCTION FCompressPicture
  967.     ENDIF
  968.  
  969. ;
  970. ; pascal OSErr CompressPictureFile(short srcRefNum, short dstRefNum, CodecQ quality, CodecType cType)
  971. ;
  972.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  973.         Macro
  974.         _CompressPictureFile
  975.             moveq               #38,D0
  976.             dc.w                $AAA3
  977.         EndM
  978.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  979.         IMPORT_CFM_FUNCTION CompressPictureFile
  980.     ENDIF
  981.  
  982. ;
  983. ; pascal OSErr FCompressPictureFile(short srcRefNum, short dstRefNum, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  984. ;
  985.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  986.         Macro
  987.         _FCompressPictureFile
  988.             moveq               #39,D0
  989.             dc.w                $AAA3
  990.         EndM
  991.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  992.         IMPORT_CFM_FUNCTION FCompressPictureFile
  993.     ENDIF
  994.  
  995. ;
  996. ; pascal OSErr GetPictureFileHeader(short refNum, Rect *frame, OpenCPicParams *header)
  997. ;
  998.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  999.         Macro
  1000.         _GetPictureFileHeader
  1001.             moveq               #40,D0
  1002.             dc.w                $AAA3
  1003.         EndM
  1004.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1005.         IMPORT_CFM_FUNCTION GetPictureFileHeader
  1006.     ENDIF
  1007.  
  1008. ;
  1009. ; pascal OSErr DrawPictureFile(short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc)
  1010. ;
  1011.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1012.         Macro
  1013.         _DrawPictureFile
  1014.             moveq               #41,D0
  1015.             dc.w                $AAA3
  1016.         EndM
  1017.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1018.         IMPORT_CFM_FUNCTION DrawPictureFile
  1019.     ENDIF
  1020.  
  1021. ;
  1022. ; pascal OSErr DrawTrimmedPicture(PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1023. ;
  1024.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1025.         Macro
  1026.         _DrawTrimmedPicture
  1027.             moveq               #46,D0
  1028.             dc.w                $AAA3
  1029.         EndM
  1030.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1031.         IMPORT_CFM_FUNCTION DrawTrimmedPicture
  1032.     ENDIF
  1033.  
  1034. ;
  1035. ; pascal OSErr DrawTrimmedPictureFile(short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1036. ;
  1037.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1038.         Macro
  1039.         _DrawTrimmedPictureFile
  1040.             moveq               #47,D0
  1041.             dc.w                $AAA3
  1042.         EndM
  1043.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1044.         IMPORT_CFM_FUNCTION DrawTrimmedPictureFile
  1045.     ENDIF
  1046.  
  1047. ;
  1048. ; pascal OSErr MakeThumbnailFromPicture(PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1049. ;
  1050.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1051.         Macro
  1052.         _MakeThumbnailFromPicture
  1053.             moveq               #42,D0
  1054.             dc.w                $AAA3
  1055.         EndM
  1056.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1057.         IMPORT_CFM_FUNCTION MakeThumbnailFromPicture
  1058.     ENDIF
  1059.  
  1060. ;
  1061. ; pascal OSErr MakeThumbnailFromPictureFile(short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1062. ;
  1063.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1064.         Macro
  1065.         _MakeThumbnailFromPictureFile
  1066.             moveq               #43,D0
  1067.             dc.w                $AAA3
  1068.         EndM
  1069.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1070.         IMPORT_CFM_FUNCTION MakeThumbnailFromPictureFile
  1071.     ENDIF
  1072.  
  1073. ;
  1074. ; pascal OSErr MakeThumbnailFromPixMap(PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1075. ;
  1076.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1077.         Macro
  1078.         _MakeThumbnailFromPixMap
  1079.             moveq               #44,D0
  1080.             dc.w                $AAA3
  1081.         EndM
  1082.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1083.         IMPORT_CFM_FUNCTION MakeThumbnailFromPixMap
  1084.     ENDIF
  1085.  
  1086. ;
  1087. ; pascal OSErr TrimImage(ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc)
  1088. ;
  1089.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1090.         Macro
  1091.         _TrimImage
  1092.             moveq               #45,D0
  1093.             dc.w                $AAA3
  1094.         EndM
  1095.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1096.         IMPORT_CFM_FUNCTION TrimImage
  1097.     ENDIF
  1098.  
  1099. ;
  1100. ; pascal OSErr ConvertImage(ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle ctable, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData)
  1101. ;
  1102.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1103.         Macro
  1104.         _ConvertImage
  1105.             moveq               #48,D0
  1106.             dc.w                $AAA3
  1107.         EndM
  1108.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1109.         IMPORT_CFM_FUNCTION ConvertImage
  1110.     ENDIF
  1111.  
  1112. ;
  1113. ; pascal OSErr GetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc)
  1114. ;
  1115.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1116.         Macro
  1117.         _GetCompressedPixMapInfo
  1118.             moveq               #55,D0
  1119.             dc.w                $AAA3
  1120.         EndM
  1121.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1122.         IMPORT_CFM_FUNCTION GetCompressedPixMapInfo
  1123.     ENDIF
  1124.  
  1125. ;
  1126. ; pascal OSErr SetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  1127. ;
  1128.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1129.         Macro
  1130.         _SetCompressedPixMapInfo
  1131.             moveq               #56,D0
  1132.             dc.w                $AAA3
  1133.         EndM
  1134.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1135.         IMPORT_CFM_FUNCTION SetCompressedPixMapInfo
  1136.     ENDIF
  1137.  
  1138. ;
  1139. ; pascal void StdPix(PixMapPtr src, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags)
  1140. ;
  1141.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1142.         Macro
  1143.         _StdPix
  1144.             moveq               #12,D0
  1145.             dc.w                $AAA3
  1146.         EndM
  1147.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1148.         IMPORT_CFM_FUNCTION StdPix
  1149.     ENDIF
  1150.  
  1151. ;
  1152. ; pascal OSErr TransformRgn(MatrixRecordPtr matrix, RgnHandle rgn)
  1153. ;
  1154.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1155.         Macro
  1156.         _TransformRgn
  1157.             moveq               #57,D0
  1158.             dc.w                $AAA3
  1159.         EndM
  1160.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1161.         IMPORT_CFM_FUNCTION TransformRgn
  1162.     ENDIF
  1163.  
  1164.  
  1165. ; ***********
  1166. ;    preview stuff
  1167. ;**********
  1168.  
  1169. ;
  1170. ; pascal void SFGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply)
  1171. ;
  1172.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1173.         Macro
  1174.         _SFGetFilePreview
  1175.             moveq               #65,D0
  1176.             dc.w                $AAA3
  1177.         EndM
  1178.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1179.         IMPORT_CFM_FUNCTION SFGetFilePreview
  1180.     ENDIF
  1181.  
  1182. ;
  1183. ; pascal void SFPGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply, short dlgID, ModalFilterUPP filterProc)
  1184. ;
  1185.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1186.         Macro
  1187.         _SFPGetFilePreview
  1188.             moveq               #66,D0
  1189.             dc.w                $AAA3
  1190.         EndM
  1191.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1192.         IMPORT_CFM_FUNCTION SFPGetFilePreview
  1193.     ENDIF
  1194.  
  1195. ;
  1196. ; pascal void StandardGetFilePreview(FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply)
  1197. ;
  1198.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1199.         Macro
  1200.         _StandardGetFilePreview
  1201.             moveq               #67,D0
  1202.             dc.w                $AAA3
  1203.         EndM
  1204.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1205.         IMPORT_CFM_FUNCTION StandardGetFilePreview
  1206.     ENDIF
  1207.  
  1208. ;
  1209. ; pascal void CustomGetFilePreview(FileFilterYDUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply, short dlgID, Point where, DlgHookYDUPP dlgHook, ModalFilterYDUPP filterProc, ActivationOrderListPtr activeList, ActivateYDUPP activateProc, void *yourDataPtr)
  1210. ;
  1211.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1212.         Macro
  1213.         _CustomGetFilePreview
  1214.             moveq               #68,D0
  1215.             dc.w                $AAA3
  1216.         EndM
  1217.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1218.         IMPORT_CFM_FUNCTION CustomGetFilePreview
  1219.     ENDIF
  1220.  
  1221. ;
  1222. ; pascal OSErr MakeFilePreview(short resRefNum, ICMProgressProcRecordPtr progress)
  1223. ;
  1224.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1225.         Macro
  1226.         _MakeFilePreview
  1227.             moveq               #69,D0
  1228.             dc.w                $AAA3
  1229.         EndM
  1230.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1231.         IMPORT_CFM_FUNCTION MakeFilePreview
  1232.     ENDIF
  1233.  
  1234. ;
  1235. ; pascal OSErr AddFilePreview(short resRefNum, OSType previewType, Handle previewData)
  1236. ;
  1237.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1238.         Macro
  1239.         _AddFilePreview
  1240.             moveq               #70,D0
  1241.             dc.w                $AAA3
  1242.         EndM
  1243.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1244.         IMPORT_CFM_FUNCTION AddFilePreview
  1245.     ENDIF
  1246.  
  1247.  
  1248. sfpItemPreviewAreaUser            EQU        11
  1249. sfpItemPreviewStaticText        EQU        12
  1250. sfpItemPreviewDividerUser        EQU        13
  1251. sfpItemCreatePreviewButton        EQU        14
  1252. sfpItemShowPreviewButton        EQU        15
  1253. PreviewResourceRecord    RECORD 0
  1254. modDate                     ds.l    1                ; offset: $0 (0)
  1255. version                     ds.w    1                ; offset: $4 (4)
  1256. resType                     ds.l    1                ; offset: $6 (6)
  1257. resID                     ds.w    1                ; offset: $A (10)
  1258. sizeof                     EQU *                    ; size:   $C (12)
  1259.                         ENDR
  1260. ; typedef struct PreviewResourceRecord * PreviewResourcePtr
  1261.  
  1262. ; typedef PreviewResourcePtr *            PreviewResource
  1263.  
  1264. ;
  1265. ; pascal void AlignScreenRect(Rect *rp, ICMAlignmentProcRecordPtr alignmentProc)
  1266. ;
  1267.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1268.         Macro
  1269.         _AlignScreenRect
  1270.             move.l              #$0008004C,D0
  1271.             dc.w                $AAA3
  1272.         EndM
  1273.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1274.         IMPORT_CFM_FUNCTION AlignScreenRect
  1275.     ENDIF
  1276.  
  1277. ;
  1278. ; pascal void AlignWindow(WindowPtr wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1279. ;
  1280.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1281.         Macro
  1282.         _AlignWindow
  1283.             move.l              #$000E004D,D0
  1284.             dc.w                $AAA3
  1285.         EndM
  1286.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1287.         IMPORT_CFM_FUNCTION AlignWindow
  1288.     ENDIF
  1289.  
  1290. ;
  1291. ; pascal void DragAlignedWindow(WindowPtr wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1292. ;
  1293.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1294.         Macro
  1295.         _DragAlignedWindow
  1296.             move.l              #$0014004E,D0
  1297.             dc.w                $AAA3
  1298.         EndM
  1299.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1300.         IMPORT_CFM_FUNCTION DragAlignedWindow
  1301.     ENDIF
  1302.  
  1303. ;
  1304. ; pascal long DragAlignedGrayRgn(RgnHandle theRgn, Point startPt, Rect *boundsRect, Rect *slopRect, short axis, UniversalProcPtr actionProc, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1305. ;
  1306.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1307.         Macro
  1308.         _DragAlignedGrayRgn
  1309.             move.l              #$001E004F,D0
  1310.             dc.w                $AAA3
  1311.         EndM
  1312.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1313.         IMPORT_CFM_FUNCTION DragAlignedGrayRgn
  1314.     ENDIF
  1315.  
  1316. ;
  1317. ; pascal OSErr SetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1318. ;
  1319.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1320.         Macro
  1321.         _SetCSequenceDataRateParams
  1322.             move.l              #$00080050,D0
  1323.             dc.w                $AAA3
  1324.         EndM
  1325.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1326.         IMPORT_CFM_FUNCTION SetCSequenceDataRateParams
  1327.     ENDIF
  1328.  
  1329. ;
  1330. ; pascal OSErr SetCSequenceFrameNumber(ImageSequence seqID, long frameNumber)
  1331. ;
  1332.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1333.         Macro
  1334.         _SetCSequenceFrameNumber
  1335.             move.l              #$00080051,D0
  1336.             dc.w                $AAA3
  1337.         EndM
  1338.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1339.         IMPORT_CFM_FUNCTION SetCSequenceFrameNumber
  1340.     ENDIF
  1341.  
  1342. ;
  1343. ; pascal OSErr SetCSequencePreferredPacketSize(ImageSequence seqID, long preferredPacketSizeInBytes)
  1344. ;
  1345.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1346.         Macro
  1347.         _SetCSequencePreferredPacketSize
  1348.             move.l              #$00080078,D0
  1349.             dc.w                $AAA3
  1350.         EndM
  1351.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1352.         IMPORT_CFM_FUNCTION SetCSequencePreferredPacketSize
  1353.     ENDIF
  1354.  
  1355. ;
  1356. ; pascal OSErr NewImageGWorld(GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags)
  1357. ;
  1358.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1359.         Macro
  1360.         _NewImageGWorld
  1361.             move.l              #$000C0052,D0
  1362.             dc.w                $AAA3
  1363.         EndM
  1364.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1365.         IMPORT_CFM_FUNCTION NewImageGWorld
  1366.     ENDIF
  1367.  
  1368. ;
  1369. ; pascal OSErr GetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1370. ;
  1371.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1372.         Macro
  1373.         _GetCSequenceDataRateParams
  1374.             move.l              #$00080053,D0
  1375.             dc.w                $AAA3
  1376.         EndM
  1377.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1378.         IMPORT_CFM_FUNCTION GetCSequenceDataRateParams
  1379.     ENDIF
  1380.  
  1381. ;
  1382. ; pascal OSErr GetCSequenceFrameNumber(ImageSequence seqID, long *frameNumber)
  1383. ;
  1384.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1385.         Macro
  1386.         _GetCSequenceFrameNumber
  1387.             move.l              #$00080054,D0
  1388.             dc.w                $AAA3
  1389.         EndM
  1390.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1391.         IMPORT_CFM_FUNCTION GetCSequenceFrameNumber
  1392.     ENDIF
  1393.  
  1394. ;
  1395. ; pascal OSErr GetBestDeviceRect(GDHandle *gdh, Rect *rp)
  1396. ;
  1397.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1398.         Macro
  1399.         _GetBestDeviceRect
  1400.             move.l              #$00080055,D0
  1401.             dc.w                $AAA3
  1402.         EndM
  1403.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1404.         IMPORT_CFM_FUNCTION GetBestDeviceRect
  1405.     ENDIF
  1406.  
  1407. ;
  1408. ; pascal OSErr SetSequenceProgressProc(ImageSequence seqID, ICMProgressProcRecord *progressProc)
  1409. ;
  1410.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1411.         Macro
  1412.         _SetSequenceProgressProc
  1413.             move.l              #$00080056,D0
  1414.             dc.w                $AAA3
  1415.         EndM
  1416.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1417.         IMPORT_CFM_FUNCTION SetSequenceProgressProc
  1418.     ENDIF
  1419.  
  1420. ;
  1421. ; pascal OSErr GDHasScale(GDHandle gdh, short depth, Fixed *scale)
  1422. ;
  1423.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1424.         Macro
  1425.         _GDHasScale
  1426.             move.l              #$000A005A,D0
  1427.             dc.w                $AAA3
  1428.         EndM
  1429.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1430.         IMPORT_CFM_FUNCTION GDHasScale
  1431.     ENDIF
  1432.  
  1433. ;
  1434. ; pascal OSErr GDGetScale(GDHandle gdh, Fixed *scale, short *flags)
  1435. ;
  1436.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1437.         Macro
  1438.         _GDGetScale
  1439.             move.l              #$000C005B,D0
  1440.             dc.w                $AAA3
  1441.         EndM
  1442.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1443.         IMPORT_CFM_FUNCTION GDGetScale
  1444.     ENDIF
  1445.  
  1446. ;
  1447. ; pascal OSErr GDSetScale(GDHandle gdh, Fixed scale, short flags)
  1448. ;
  1449.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1450.         Macro
  1451.         _GDSetScale
  1452.             move.l              #$000A005C,D0
  1453.             dc.w                $AAA3
  1454.         EndM
  1455.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1456.         IMPORT_CFM_FUNCTION GDSetScale
  1457.     ENDIF
  1458.  
  1459. ;
  1460. ; pascal OSErr ICMShieldSequenceCursor(ImageSequence seqID)
  1461. ;
  1462.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1463.         Macro
  1464.         _ICMShieldSequenceCursor
  1465.             move.l              #$00040062,D0
  1466.             dc.w                $AAA3
  1467.         EndM
  1468.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1469.         IMPORT_CFM_FUNCTION ICMShieldSequenceCursor
  1470.     ENDIF
  1471.  
  1472. ;
  1473. ; pascal void ICMDecompressComplete(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1474. ;
  1475.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1476.         Macro
  1477.         _ICMDecompressComplete
  1478.             move.l              #$000C0063,D0
  1479.             dc.w                $AAA3
  1480.         EndM
  1481.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1482.         IMPORT_CFM_FUNCTION ICMDecompressComplete
  1483.     ENDIF
  1484.  
  1485. ;
  1486. ; pascal OSErr SetDSequenceTimeCode(ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime)
  1487. ;
  1488.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1489.         Macro
  1490.         _SetDSequenceTimeCode
  1491.             move.l              #$000C0064,D0
  1492.             dc.w                $AAA3
  1493.         EndM
  1494.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1495.         IMPORT_CFM_FUNCTION SetDSequenceTimeCode
  1496.     ENDIF
  1497.  
  1498. ;
  1499. ; pascal OSErr CDSequenceNewMemory(ImageSequence seqID, Ptr *data, Size dataSize, long dataUse, ICMMemoryDisposedUPP memoryGoneProc, void *refCon)
  1500. ;
  1501.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1502.         Macro
  1503.         _CDSequenceNewMemory
  1504.             move.l              #$00180066,D0
  1505.             dc.w                $AAA3
  1506.         EndM
  1507.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1508.         IMPORT_CFM_FUNCTION CDSequenceNewMemory
  1509.     ENDIF
  1510.  
  1511. ;
  1512. ; pascal OSErr CDSequenceDisposeMemory(ImageSequence seqID, Ptr data)
  1513. ;
  1514.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1515.         Macro
  1516.         _CDSequenceDisposeMemory
  1517.             move.l              #$00080067,D0
  1518.             dc.w                $AAA3
  1519.         EndM
  1520.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1521.         IMPORT_CFM_FUNCTION CDSequenceDisposeMemory
  1522.     ENDIF
  1523.  
  1524. ;
  1525. ; pascal OSErr CDSequenceNewDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber, Handle dataDescription, void *transferProc, void *refCon)
  1526. ;
  1527.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1528.         Macro
  1529.         _CDSequenceNewDataSource
  1530.             move.l              #$001C0068,D0
  1531.             dc.w                $AAA3
  1532.         EndM
  1533.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1534.         IMPORT_CFM_FUNCTION CDSequenceNewDataSource
  1535.     ENDIF
  1536.  
  1537. ;
  1538. ; pascal OSErr CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID)
  1539. ;
  1540.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1541.         Macro
  1542.         _CDSequenceDisposeDataSource
  1543.             move.l              #$00040069,D0
  1544.             dc.w                $AAA3
  1545.         EndM
  1546.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1547.         IMPORT_CFM_FUNCTION CDSequenceDisposeDataSource
  1548.     ENDIF
  1549.  
  1550. ;
  1551. ; pascal OSErr CDSequenceSetSourceData(ImageSequenceDataSource sourceID, void *data, long dataSize)
  1552. ;
  1553.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1554.         Macro
  1555.         _CDSequenceSetSourceData
  1556.             move.l              #$000C006A,D0
  1557.             dc.w                $AAA3
  1558.         EndM
  1559.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1560.         IMPORT_CFM_FUNCTION CDSequenceSetSourceData
  1561.     ENDIF
  1562.  
  1563. ;
  1564. ; pascal OSErr CDSequenceChangedSourceData(ImageSequenceDataSource sourceID)
  1565. ;
  1566.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1567.         Macro
  1568.         _CDSequenceChangedSourceData
  1569.             move.l              #$0004006B,D0
  1570.             dc.w                $AAA3
  1571.         EndM
  1572.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1573.         IMPORT_CFM_FUNCTION CDSequenceChangedSourceData
  1574.     ENDIF
  1575.  
  1576. ;
  1577. ; pascal OSErr PtInDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, Boolean *hit)
  1578. ;
  1579.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1580.         Macro
  1581.         _PtInDSequenceData
  1582.             move.l              #$0014006C,D0
  1583.             dc.w                $AAA3
  1584.         EndM
  1585.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1586.         IMPORT_CFM_FUNCTION PtInDSequenceData
  1587.     ENDIF
  1588.  
  1589. ;
  1590. ; pascal OSErr GetGraphicsImporterForFile(const FSSpec *theFile, ComponentInstance *gi)
  1591. ;
  1592.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1593.         Macro
  1594.         _GetGraphicsImporterForFile
  1595.             move.l              #$0008006E,D0
  1596.             dc.w                $AAA3
  1597.         EndM
  1598.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1599.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFile
  1600.     ENDIF
  1601.  
  1602. ;
  1603. ; pascal OSErr GetGraphicsImporterForDataRef(Handle dataRef, OSType dataRefType, ComponentInstance *gi)
  1604. ;
  1605.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1606.         Macro
  1607.         _GetGraphicsImporterForDataRef
  1608.             move.l              #$000C0077,D0
  1609.             dc.w                $AAA3
  1610.         EndM
  1611.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1612.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRef
  1613.     ENDIF
  1614.  
  1615. ;
  1616. ; pascal OSErr ImageTranscodeSequenceBegin(ImageTranscodeSequence *its, ImageDescriptionHandle srcDesc, OSType destType, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  1617. ;
  1618.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1619.         Macro
  1620.         _ImageTranscodeSequenceBegin
  1621.             move.l              #$0018006F,D0
  1622.             dc.w                $AAA3
  1623.         EndM
  1624.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1625.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceBegin
  1626.     ENDIF
  1627.  
  1628. ;
  1629. ; pascal OSErr ImageTranscodeSequenceEnd(ImageTranscodeSequence its)
  1630. ;
  1631.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1632.         Macro
  1633.         _ImageTranscodeSequenceEnd
  1634.             move.l              #$00040070,D0
  1635.             dc.w                $AAA3
  1636.         EndM
  1637.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1638.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceEnd
  1639.     ENDIF
  1640.  
  1641. ;
  1642. ; pascal OSErr ImageTranscodeFrame(ImageTranscodeSequence its, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  1643. ;
  1644.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1645.         Macro
  1646.         _ImageTranscodeFrame
  1647.             move.l              #$00140071,D0
  1648.             dc.w                $AAA3
  1649.         EndM
  1650.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1651.         IMPORT_CFM_FUNCTION ImageTranscodeFrame
  1652.     ENDIF
  1653.  
  1654. ;
  1655. ; pascal OSErr ImageTranscodeDisposeFrameData(ImageTranscodeSequence its, void *dstData)
  1656. ;
  1657.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1658.         Macro
  1659.         _ImageTranscodeDisposeFrameData
  1660.             move.l              #$00080072,D0
  1661.             dc.w                $AAA3
  1662.         EndM
  1663.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1664.         IMPORT_CFM_FUNCTION ImageTranscodeDisposeFrameData
  1665.     ENDIF
  1666.  
  1667. ;
  1668. ; pascal OSErr CDSequenceInvalidate(ImageSequence seqID, RgnHandle invalRgn)
  1669. ;
  1670.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1671.         Macro
  1672.         _CDSequenceInvalidate
  1673.             move.l              #$00080073,D0
  1674.             dc.w                $AAA3
  1675.         EndM
  1676.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1677.         IMPORT_CFM_FUNCTION CDSequenceInvalidate
  1678.     ENDIF
  1679.  
  1680. ;
  1681. ; pascal OSErr ImageFieldSequenceBegin(ImageFieldSequence *ifs, ImageDescriptionHandle desc1, ImageDescriptionHandle desc2, ImageDescriptionHandle descOut)
  1682. ;
  1683.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1684.         Macro
  1685.         _ImageFieldSequenceBegin
  1686.             move.l              #$0010006D,D0
  1687.             dc.w                $AAA3
  1688.         EndM
  1689.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1690.         IMPORT_CFM_FUNCTION ImageFieldSequenceBegin
  1691.     ENDIF
  1692.  
  1693. ;
  1694. ; pascal OSErr ImageFieldSequenceExtractCombine(ImageFieldSequence ifs, long fieldFlags, void *data1, long dataSize1, void *data2, long dataSize2, void *outputData, long *outDataSize)
  1695. ;
  1696.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1697.         Macro
  1698.         _ImageFieldSequenceExtractCombine
  1699.             move.l              #$00200075,D0
  1700.             dc.w                $AAA3
  1701.         EndM
  1702.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1703.         IMPORT_CFM_FUNCTION ImageFieldSequenceExtractCombine
  1704.     ENDIF
  1705.  
  1706. ;
  1707. ; pascal OSErr ImageFieldSequenceEnd(ImageFieldSequence ifs)
  1708. ;
  1709.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1710.         Macro
  1711.         _ImageFieldSequenceEnd
  1712.             move.l              #$00040076,D0
  1713.             dc.w                $AAA3
  1714.         EndM
  1715.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1716.         IMPORT_CFM_FUNCTION ImageFieldSequenceEnd
  1717.     ENDIF
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723. identityMatrixType                EQU        $00                    ; result if matrix is identity 
  1724. translateMatrixType                EQU        $01                    ; result if matrix translates 
  1725. scaleMatrixType                    EQU        $02                    ; result if matrix scales 
  1726. scaleTranslateMatrixType        EQU        $03                    ; result if matrix scales and translates 
  1727. linearMatrixType                EQU        $04                    ; result if matrix is general 2 x 2 
  1728. linearTranslateMatrixType        EQU        $05                    ; result if matrix is general 2 x 2 and translates 
  1729. perspectiveMatrixType            EQU        $06                    ; result if matrix is general 3 x 3 
  1730. ; typedef unsigned short                 MatrixFlags
  1731.  
  1732. ;
  1733. ; pascal short GetMatrixType(const MatrixRecord *m)
  1734. ;
  1735.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1736.         Macro
  1737.         _GetMatrixType
  1738.             moveq               #20,D0
  1739.             dc.w                $ABC2
  1740.         EndM
  1741.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1742.         IMPORT_CFM_FUNCTION GetMatrixType
  1743.     ENDIF
  1744.  
  1745. ;
  1746. ; pascal void CopyMatrix(const MatrixRecord *m1, MatrixRecord *m2)
  1747. ;
  1748.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1749.         Macro
  1750.         _CopyMatrix
  1751.             moveq               #32,D0
  1752.             dc.w                $ABC2
  1753.         EndM
  1754.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1755.         IMPORT_CFM_FUNCTION CopyMatrix
  1756.     ENDIF
  1757.  
  1758. ;
  1759. ; pascal Boolean EqualMatrix(const MatrixRecord *m1, const MatrixRecord *m2)
  1760. ;
  1761.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1762.         Macro
  1763.         _EqualMatrix
  1764.             moveq               #33,D0
  1765.             dc.w                $ABC2
  1766.         EndM
  1767.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1768.         IMPORT_CFM_FUNCTION EqualMatrix
  1769.     ENDIF
  1770.  
  1771. ;
  1772. ; pascal void SetIdentityMatrix(MatrixRecord *matrix)
  1773. ;
  1774.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1775.         Macro
  1776.         _SetIdentityMatrix
  1777.             moveq               #21,D0
  1778.             dc.w                $ABC2
  1779.         EndM
  1780.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1781.         IMPORT_CFM_FUNCTION SetIdentityMatrix
  1782.     ENDIF
  1783.  
  1784. ;
  1785. ; pascal void TranslateMatrix(MatrixRecord *m, Fixed deltaH, Fixed deltaV)
  1786. ;
  1787.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1788.         Macro
  1789.         _TranslateMatrix
  1790.             moveq               #25,D0
  1791.             dc.w                $ABC2
  1792.         EndM
  1793.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1794.         IMPORT_CFM_FUNCTION TranslateMatrix
  1795.     ENDIF
  1796.  
  1797. ;
  1798. ; pascal void RotateMatrix(MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY)
  1799. ;
  1800.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1801.         Macro
  1802.         _RotateMatrix
  1803.             moveq               #22,D0
  1804.             dc.w                $ABC2
  1805.         EndM
  1806.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1807.         IMPORT_CFM_FUNCTION RotateMatrix
  1808.     ENDIF
  1809.  
  1810. ;
  1811. ; pascal void ScaleMatrix(MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY)
  1812. ;
  1813.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1814.         Macro
  1815.         _ScaleMatrix
  1816.             moveq               #23,D0
  1817.             dc.w                $ABC2
  1818.         EndM
  1819.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1820.         IMPORT_CFM_FUNCTION ScaleMatrix
  1821.     ENDIF
  1822.  
  1823. ;
  1824. ; pascal void SkewMatrix(MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY)
  1825. ;
  1826.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1827.         Macro
  1828.         _SkewMatrix
  1829.             moveq               #24,D0
  1830.             dc.w                $ABC2
  1831.         EndM
  1832.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1833.         IMPORT_CFM_FUNCTION SkewMatrix
  1834.     ENDIF
  1835.  
  1836. ;
  1837. ; pascal OSErr TransformFixedPoints(const MatrixRecord *m, FixedPoint *fpt, long count)
  1838. ;
  1839.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1840.         Macro
  1841.         _TransformFixedPoints
  1842.             moveq               #34,D0
  1843.             dc.w                $ABC2
  1844.         EndM
  1845.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1846.         IMPORT_CFM_FUNCTION TransformFixedPoints
  1847.     ENDIF
  1848.  
  1849. ;
  1850. ; pascal OSErr TransformPoints(const MatrixRecord *mp, Point *pt1, long count)
  1851. ;
  1852.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1853.         Macro
  1854.         _TransformPoints
  1855.             moveq               #35,D0
  1856.             dc.w                $ABC2
  1857.         EndM
  1858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1859.         IMPORT_CFM_FUNCTION TransformPoints
  1860.     ENDIF
  1861.  
  1862. ;
  1863. ; pascal Boolean TransformFixedRect(const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp)
  1864. ;
  1865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1866.         Macro
  1867.         _TransformFixedRect
  1868.             moveq               #36,D0
  1869.             dc.w                $ABC2
  1870.         EndM
  1871.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1872.         IMPORT_CFM_FUNCTION TransformFixedRect
  1873.     ENDIF
  1874.  
  1875. ;
  1876. ; pascal Boolean TransformRect(const MatrixRecord *m, Rect *r, FixedPoint *fpp)
  1877. ;
  1878.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1879.         Macro
  1880.         _TransformRect
  1881.             moveq               #37,D0
  1882.             dc.w                $ABC2
  1883.         EndM
  1884.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1885.         IMPORT_CFM_FUNCTION TransformRect
  1886.     ENDIF
  1887.  
  1888. ;
  1889. ; pascal Boolean InverseMatrix(const MatrixRecord *m, MatrixRecord *im)
  1890. ;
  1891.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1892.         Macro
  1893.         _InverseMatrix
  1894.             moveq               #28,D0
  1895.             dc.w                $ABC2
  1896.         EndM
  1897.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1898.         IMPORT_CFM_FUNCTION InverseMatrix
  1899.     ENDIF
  1900.  
  1901. ;
  1902. ; pascal void ConcatMatrix(const MatrixRecord *a, MatrixRecord *b)
  1903. ;
  1904.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1905.         Macro
  1906.         _ConcatMatrix
  1907.             moveq               #27,D0
  1908.             dc.w                $ABC2
  1909.         EndM
  1910.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1911.         IMPORT_CFM_FUNCTION ConcatMatrix
  1912.     ENDIF
  1913.  
  1914. ;
  1915. ; pascal void RectMatrix(MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect)
  1916. ;
  1917.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1918.         Macro
  1919.         _RectMatrix
  1920.             moveq               #30,D0
  1921.             dc.w                $ABC2
  1922.         EndM
  1923.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1924.         IMPORT_CFM_FUNCTION RectMatrix
  1925.     ENDIF
  1926.  
  1927. ;
  1928. ; pascal void MapMatrix(MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect)
  1929. ;
  1930.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1931.         Macro
  1932.         _MapMatrix
  1933.             moveq               #29,D0
  1934.             dc.w                $ABC2
  1935.         EndM
  1936.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1937.         IMPORT_CFM_FUNCTION MapMatrix
  1938.     ENDIF
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946. ;
  1947. ; pascal void CompAdd(wide *src, wide *dst)
  1948. ;
  1949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1950.         Macro
  1951.         _CompAdd
  1952.             moveq               #1,D0
  1953.             dc.w                $ABC2
  1954.         EndM
  1955.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1956.         IMPORT_CFM_FUNCTION CompAdd
  1957.     ENDIF
  1958.  
  1959. ;
  1960. ; pascal void CompSub(wide *src, wide *dst)
  1961. ;
  1962.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1963.         Macro
  1964.         _CompSub
  1965.             moveq               #2,D0
  1966.             dc.w                $ABC2
  1967.         EndM
  1968.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1969.         IMPORT_CFM_FUNCTION CompSub
  1970.     ENDIF
  1971.  
  1972. ;
  1973. ; pascal void CompNeg(wide *dst)
  1974. ;
  1975.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1976.         Macro
  1977.         _CompNeg
  1978.             moveq               #3,D0
  1979.             dc.w                $ABC2
  1980.         EndM
  1981.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1982.         IMPORT_CFM_FUNCTION CompNeg
  1983.     ENDIF
  1984.  
  1985. ;
  1986. ; pascal void CompShift(wide *src, short shift)
  1987. ;
  1988.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1989.         Macro
  1990.         _CompShift
  1991.             moveq               #4,D0
  1992.             dc.w                $ABC2
  1993.         EndM
  1994.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1995.         IMPORT_CFM_FUNCTION CompShift
  1996.     ENDIF
  1997.  
  1998. ;
  1999. ; pascal void CompMul(long src1, long src2, wide *dst)
  2000. ;
  2001.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2002.         Macro
  2003.         _CompMul
  2004.             moveq               #5,D0
  2005.             dc.w                $ABC2
  2006.         EndM
  2007.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2008.         IMPORT_CFM_FUNCTION CompMul
  2009.     ENDIF
  2010.  
  2011. ;
  2012. ; pascal long CompDiv(wide *numerator, long denominator, long *remainder)
  2013. ;
  2014.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2015.         Macro
  2016.         _CompDiv
  2017.             moveq               #6,D0
  2018.             dc.w                $ABC2
  2019.         EndM
  2020.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2021.         IMPORT_CFM_FUNCTION CompDiv
  2022.     ENDIF
  2023.  
  2024. ;
  2025. ; pascal void CompFixMul(wide *compSrc, Fixed fixSrc, wide *compDst)
  2026. ;
  2027.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2028.         Macro
  2029.         _CompFixMul
  2030.             moveq               #7,D0
  2031.             dc.w                $ABC2
  2032.         EndM
  2033.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2034.         IMPORT_CFM_FUNCTION CompFixMul
  2035.     ENDIF
  2036.  
  2037. ;
  2038. ; pascal void CompMulDiv(wide *co, long mul, long divisor)
  2039. ;
  2040.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2041.         Macro
  2042.         _CompMulDiv
  2043.             moveq               #8,D0
  2044.             dc.w                $ABC2
  2045.         EndM
  2046.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2047.         IMPORT_CFM_FUNCTION CompMulDiv
  2048.     ENDIF
  2049.  
  2050. ;
  2051. ; pascal void CompMulDivTrunc(wide *co, long mul, long divisor, long *remainder)
  2052. ;
  2053.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2054.         Macro
  2055.         _CompMulDivTrunc
  2056.             moveq               #12,D0
  2057.             dc.w                $ABC2
  2058.         EndM
  2059.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2060.         IMPORT_CFM_FUNCTION CompMulDivTrunc
  2061.     ENDIF
  2062.  
  2063. ;
  2064. ; pascal long CompCompare(wide *a, wide *minusb)
  2065. ;
  2066.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2067.         Macro
  2068.         _CompCompare
  2069.             moveq               #9,D0
  2070.             dc.w                $ABC2
  2071.         EndM
  2072.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2073.         IMPORT_CFM_FUNCTION CompCompare
  2074.     ENDIF
  2075.  
  2076. ;
  2077. ; pascal Fixed FixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2078. ;
  2079.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2080.         Macro
  2081.         _FixMulDiv
  2082.             moveq               #10,D0
  2083.             dc.w                $ABC2
  2084.         EndM
  2085.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2086.         IMPORT_CFM_FUNCTION FixMulDiv
  2087.     ENDIF
  2088.  
  2089. ;
  2090. ; pascal Fixed UnsignedFixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2091. ;
  2092.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2093.         Macro
  2094.         _UnsignedFixMulDiv
  2095.             moveq               #13,D0
  2096.             dc.w                $ABC2
  2097.         EndM
  2098.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2099.         IMPORT_CFM_FUNCTION UnsignedFixMulDiv
  2100.     ENDIF
  2101.  
  2102. ;
  2103. ; pascal Fract FracSinCos(Fixed degree, Fract *cosOut)
  2104. ;
  2105.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2106.         Macro
  2107.         _FracSinCos
  2108.             moveq               #11,D0
  2109.             dc.w                $ABC2
  2110.         EndM
  2111.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2112.         IMPORT_CFM_FUNCTION FracSinCos
  2113.     ENDIF
  2114.  
  2115. ;
  2116. ; pascal Fixed FixExp2(Fixed src)
  2117. ;
  2118.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2119.         Macro
  2120.         _FixExp2
  2121.             moveq               #14,D0
  2122.             dc.w                $ABC2
  2123.         EndM
  2124.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2125.         IMPORT_CFM_FUNCTION FixExp2
  2126.     ENDIF
  2127.  
  2128. ;
  2129. ; pascal Fixed FixLog2(Fixed src)
  2130. ;
  2131.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2132.         Macro
  2133.         _FixLog2
  2134.             moveq               #15,D0
  2135.             dc.w                $ABC2
  2136.         EndM
  2137.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2138.         IMPORT_CFM_FUNCTION FixLog2
  2139.     ENDIF
  2140.  
  2141. ;
  2142. ; pascal Fixed FixPow(Fixed base, Fixed exp)
  2143. ;
  2144.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2145.         Macro
  2146.         _FixPow
  2147.             moveq               #16,D0
  2148.             dc.w                $ABC2
  2149.         EndM
  2150.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2151.         IMPORT_CFM_FUNCTION FixPow
  2152.     ENDIF
  2153.  
  2154.  
  2155.  
  2156.  
  2157. ; typedef ComponentInstance             GraphicsImportComponent
  2158.  
  2159.  
  2160. GraphicsImporterComponentType    EQU        'grip'
  2161.  
  2162.  
  2163. ; * These are GraphicsImport procedures *
  2164. ;
  2165. ; pascal ComponentResult GraphicsImportSetDataReference(GraphicsImportComponent ci, Handle dataRef, OSType dataReType)
  2166. ;
  2167.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2168.         Macro
  2169.         _GraphicsImportSetDataReference
  2170.             move.l              #$00080001,-(sp)
  2171.             moveq               #0,D0
  2172.             dc.w                $A82A
  2173.         EndM
  2174.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2175.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReference
  2176.     ENDIF
  2177.  
  2178. ;
  2179. ; pascal ComponentResult GraphicsImportGetDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataReType)
  2180. ;
  2181.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2182.         Macro
  2183.         _GraphicsImportGetDataReference
  2184.             move.l              #$00080002,-(sp)
  2185.             moveq               #0,D0
  2186.             dc.w                $A82A
  2187.         EndM
  2188.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2189.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReference
  2190.     ENDIF
  2191.  
  2192. ;
  2193. ; pascal ComponentResult GraphicsImportSetDataFile(GraphicsImportComponent ci, const FSSpec *theFile)
  2194. ;
  2195.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2196.         Macro
  2197.         _GraphicsImportSetDataFile
  2198.             move.l              #$00040003,-(sp)
  2199.             moveq               #0,D0
  2200.             dc.w                $A82A
  2201.         EndM
  2202.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2203.         IMPORT_CFM_FUNCTION GraphicsImportSetDataFile
  2204.     ENDIF
  2205.  
  2206. ;
  2207. ; pascal ComponentResult GraphicsImportGetDataFile(GraphicsImportComponent ci, FSSpec *theFile)
  2208. ;
  2209.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2210.         Macro
  2211.         _GraphicsImportGetDataFile
  2212.             move.l              #$00040004,-(sp)
  2213.             moveq               #0,D0
  2214.             dc.w                $A82A
  2215.         EndM
  2216.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2217.         IMPORT_CFM_FUNCTION GraphicsImportGetDataFile
  2218.     ENDIF
  2219.  
  2220. ;
  2221. ; pascal ComponentResult GraphicsImportSetDataHandle(GraphicsImportComponent ci, Handle h)
  2222. ;
  2223.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2224.         Macro
  2225.         _GraphicsImportSetDataHandle
  2226.             move.l              #$00040005,-(sp)
  2227.             moveq               #0,D0
  2228.             dc.w                $A82A
  2229.         EndM
  2230.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2231.         IMPORT_CFM_FUNCTION GraphicsImportSetDataHandle
  2232.     ENDIF
  2233.  
  2234. ;
  2235. ; pascal ComponentResult GraphicsImportGetDataHandle(GraphicsImportComponent ci, Handle *h)
  2236. ;
  2237.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2238.         Macro
  2239.         _GraphicsImportGetDataHandle
  2240.             move.l              #$00040006,-(sp)
  2241.             moveq               #0,D0
  2242.             dc.w                $A82A
  2243.         EndM
  2244.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2245.         IMPORT_CFM_FUNCTION GraphicsImportGetDataHandle
  2246.     ENDIF
  2247.  
  2248. ;
  2249. ; pascal ComponentResult GraphicsImportGetImageDescription(GraphicsImportComponent ci, ImageDescriptionHandle *desc)
  2250. ;
  2251.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2252.         Macro
  2253.         _GraphicsImportGetImageDescription
  2254.             move.l              #$00040007,-(sp)
  2255.             moveq               #0,D0
  2256.             dc.w                $A82A
  2257.         EndM
  2258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2259.         IMPORT_CFM_FUNCTION GraphicsImportGetImageDescription
  2260.     ENDIF
  2261.  
  2262. ;
  2263. ; pascal ComponentResult GraphicsImportGetDataOffsetAndSize(GraphicsImportComponent ci, unsigned long *offset, unsigned long *size)
  2264. ;
  2265.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2266.         Macro
  2267.         _GraphicsImportGetDataOffsetAndSize
  2268.             move.l              #$00080008,-(sp)
  2269.             moveq               #0,D0
  2270.             dc.w                $A82A
  2271.         EndM
  2272.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2273.         IMPORT_CFM_FUNCTION GraphicsImportGetDataOffsetAndSize
  2274.     ENDIF
  2275.  
  2276. ;
  2277. ; pascal ComponentResult GraphicsImportReadData(GraphicsImportComponent ci, void *dataPtr, unsigned long dataOffset, unsigned long dataSize)
  2278. ;
  2279.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2280.         Macro
  2281.         _GraphicsImportReadData
  2282.             move.l              #$000C0009,-(sp)
  2283.             moveq               #0,D0
  2284.             dc.w                $A82A
  2285.         EndM
  2286.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2287.         IMPORT_CFM_FUNCTION GraphicsImportReadData
  2288.     ENDIF
  2289.  
  2290. ;
  2291. ; pascal ComponentResult GraphicsImportSetClip(GraphicsImportComponent ci, RgnHandle clipRgn)
  2292. ;
  2293.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2294.         Macro
  2295.         _GraphicsImportSetClip
  2296.             move.l              #$0004000A,-(sp)
  2297.             moveq               #0,D0
  2298.             dc.w                $A82A
  2299.         EndM
  2300.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2301.         IMPORT_CFM_FUNCTION GraphicsImportSetClip
  2302.     ENDIF
  2303.  
  2304. ;
  2305. ; pascal ComponentResult GraphicsImportGetClip(GraphicsImportComponent ci, RgnHandle *clipRgn)
  2306. ;
  2307.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2308.         Macro
  2309.         _GraphicsImportGetClip
  2310.             move.l              #$0004000B,-(sp)
  2311.             moveq               #0,D0
  2312.             dc.w                $A82A
  2313.         EndM
  2314.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2315.         IMPORT_CFM_FUNCTION GraphicsImportGetClip
  2316.     ENDIF
  2317.  
  2318. ;
  2319. ; pascal ComponentResult GraphicsImportSetSourceRect(GraphicsImportComponent ci, const Rect *sourceRect)
  2320. ;
  2321.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2322.         Macro
  2323.         _GraphicsImportSetSourceRect
  2324.             move.l              #$0004000C,-(sp)
  2325.             moveq               #0,D0
  2326.             dc.w                $A82A
  2327.         EndM
  2328.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2329.         IMPORT_CFM_FUNCTION GraphicsImportSetSourceRect
  2330.     ENDIF
  2331.  
  2332. ;
  2333. ; pascal ComponentResult GraphicsImportGetSourceRect(GraphicsImportComponent ci, Rect *sourceRect)
  2334. ;
  2335.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2336.         Macro
  2337.         _GraphicsImportGetSourceRect
  2338.             move.l              #$0004000D,-(sp)
  2339.             moveq               #0,D0
  2340.             dc.w                $A82A
  2341.         EndM
  2342.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2343.         IMPORT_CFM_FUNCTION GraphicsImportGetSourceRect
  2344.     ENDIF
  2345.  
  2346. ;
  2347. ; pascal ComponentResult GraphicsImportGetNaturalBounds(GraphicsImportComponent ci, Rect *naturalBounds)
  2348. ;
  2349.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2350.         Macro
  2351.         _GraphicsImportGetNaturalBounds
  2352.             move.l              #$0004000E,-(sp)
  2353.             moveq               #0,D0
  2354.             dc.w                $A82A
  2355.         EndM
  2356.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2357.         IMPORT_CFM_FUNCTION GraphicsImportGetNaturalBounds
  2358.     ENDIF
  2359.  
  2360. ;
  2361. ; pascal ComponentResult GraphicsImportDraw(GraphicsImportComponent ci)
  2362. ;
  2363.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2364.         Macro
  2365.         _GraphicsImportDraw
  2366.             move.l              #$0000000F,-(sp)
  2367.             moveq               #0,D0
  2368.             dc.w                $A82A
  2369.         EndM
  2370.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2371.         IMPORT_CFM_FUNCTION GraphicsImportDraw
  2372.     ENDIF
  2373.  
  2374. ;
  2375. ; pascal ComponentResult GraphicsImportSetGWorld(GraphicsImportComponent ci, CGrafPtr port, GDHandle gd)
  2376. ;
  2377.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2378.         Macro
  2379.         _GraphicsImportSetGWorld
  2380.             move.l              #$00080010,-(sp)
  2381.             moveq               #0,D0
  2382.             dc.w                $A82A
  2383.         EndM
  2384.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2385.         IMPORT_CFM_FUNCTION GraphicsImportSetGWorld
  2386.     ENDIF
  2387.  
  2388. ;
  2389. ; pascal ComponentResult GraphicsImportGetGWorld(GraphicsImportComponent ci, CGrafPtr *port, GDHandle *gd)
  2390. ;
  2391.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2392.         Macro
  2393.         _GraphicsImportGetGWorld
  2394.             move.l              #$00080011,-(sp)
  2395.             moveq               #0,D0
  2396.             dc.w                $A82A
  2397.         EndM
  2398.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2399.         IMPORT_CFM_FUNCTION GraphicsImportGetGWorld
  2400.     ENDIF
  2401.  
  2402. ;
  2403. ; pascal ComponentResult GraphicsImportSetMatrix(GraphicsImportComponent ci, const MatrixRecord *matrix)
  2404. ;
  2405.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2406.         Macro
  2407.         _GraphicsImportSetMatrix
  2408.             move.l              #$00040012,-(sp)
  2409.             moveq               #0,D0
  2410.             dc.w                $A82A
  2411.         EndM
  2412.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2413.         IMPORT_CFM_FUNCTION GraphicsImportSetMatrix
  2414.     ENDIF
  2415.  
  2416. ;
  2417. ; pascal ComponentResult GraphicsImportGetMatrix(GraphicsImportComponent ci, MatrixRecord *matrix)
  2418. ;
  2419.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2420.         Macro
  2421.         _GraphicsImportGetMatrix
  2422.             move.l              #$00040013,-(sp)
  2423.             moveq               #0,D0
  2424.             dc.w                $A82A
  2425.         EndM
  2426.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2427.         IMPORT_CFM_FUNCTION GraphicsImportGetMatrix
  2428.     ENDIF
  2429.  
  2430. ;
  2431. ; pascal ComponentResult GraphicsImportSetBoundsRect(GraphicsImportComponent ci, const Rect *bounds)
  2432. ;
  2433.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2434.         Macro
  2435.         _GraphicsImportSetBoundsRect
  2436.             move.l              #$00040014,-(sp)
  2437.             moveq               #0,D0
  2438.             dc.w                $A82A
  2439.         EndM
  2440.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2441.         IMPORT_CFM_FUNCTION GraphicsImportSetBoundsRect
  2442.     ENDIF
  2443.  
  2444. ;
  2445. ; pascal ComponentResult GraphicsImportGetBoundsRect(GraphicsImportComponent ci, Rect *bounds)
  2446. ;
  2447.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2448.         Macro
  2449.         _GraphicsImportGetBoundsRect
  2450.             move.l              #$00040015,-(sp)
  2451.             moveq               #0,D0
  2452.             dc.w                $A82A
  2453.         EndM
  2454.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2455.         IMPORT_CFM_FUNCTION GraphicsImportGetBoundsRect
  2456.     ENDIF
  2457.  
  2458. ;
  2459. ; pascal ComponentResult GraphicsImportSaveAsPicture(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2460. ;
  2461.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2462.         Macro
  2463.         _GraphicsImportSaveAsPicture
  2464.             move.l              #$00060016,-(sp)
  2465.             moveq               #0,D0
  2466.             dc.w                $A82A
  2467.         EndM
  2468.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2469.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsPicture
  2470.     ENDIF
  2471.  
  2472. ;
  2473. ; pascal ComponentResult GraphicsImportSetGraphicsMode(GraphicsImportComponent ci, long graphicsMode, const RGBColor *opColor)
  2474. ;
  2475.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2476.         Macro
  2477.         _GraphicsImportSetGraphicsMode
  2478.             move.l              #$00080017,-(sp)
  2479.             moveq               #0,D0
  2480.             dc.w                $A82A
  2481.         EndM
  2482.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2483.         IMPORT_CFM_FUNCTION GraphicsImportSetGraphicsMode
  2484.     ENDIF
  2485.  
  2486. ;
  2487. ; pascal ComponentResult GraphicsImportGetGraphicsMode(GraphicsImportComponent ci, long *graphicsMode, RGBColor *opColor)
  2488. ;
  2489.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2490.         Macro
  2491.         _GraphicsImportGetGraphicsMode
  2492.             move.l              #$00080018,-(sp)
  2493.             moveq               #0,D0
  2494.             dc.w                $A82A
  2495.         EndM
  2496.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2497.         IMPORT_CFM_FUNCTION GraphicsImportGetGraphicsMode
  2498.     ENDIF
  2499.  
  2500. ;
  2501. ; pascal ComponentResult GraphicsImportSetQuality(GraphicsImportComponent ci, CodecQ quality)
  2502. ;
  2503.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2504.         Macro
  2505.         _GraphicsImportSetQuality
  2506.             move.l              #$00040019,-(sp)
  2507.             moveq               #0,D0
  2508.             dc.w                $A82A
  2509.         EndM
  2510.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2511.         IMPORT_CFM_FUNCTION GraphicsImportSetQuality
  2512.     ENDIF
  2513.  
  2514. ;
  2515. ; pascal ComponentResult GraphicsImportGetQuality(GraphicsImportComponent ci, CodecQ *quality)
  2516. ;
  2517.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2518.         Macro
  2519.         _GraphicsImportGetQuality
  2520.             move.l              #$0004001A,-(sp)
  2521.             moveq               #0,D0
  2522.             dc.w                $A82A
  2523.         EndM
  2524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2525.         IMPORT_CFM_FUNCTION GraphicsImportGetQuality
  2526.     ENDIF
  2527.  
  2528. ;
  2529. ; pascal ComponentResult GraphicsImportSaveAsQuickTimeImageFile(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2530. ;
  2531.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2532.         Macro
  2533.         _GraphicsImportSaveAsQuickTimeImageFile
  2534.             move.l              #$0006001B,-(sp)
  2535.             moveq               #0,D0
  2536.             dc.w                $A82A
  2537.         EndM
  2538.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2539.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsQuickTimeImageFile
  2540.     ENDIF
  2541.  
  2542. ;
  2543. ; pascal ComponentResult GraphicsImportSetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long offset, unsigned long limit)
  2544. ;
  2545.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2546.         Macro
  2547.         _GraphicsImportSetDataReferenceOffsetAndLimit
  2548.             move.l              #$0008001C,-(sp)
  2549.             moveq               #0,D0
  2550.             dc.w                $A82A
  2551.         EndM
  2552.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2553.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit
  2554.     ENDIF
  2555.  
  2556. ;
  2557. ; pascal ComponentResult GraphicsImportGetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long *offset, unsigned long *limit)
  2558. ;
  2559.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2560.         Macro
  2561.         _GraphicsImportGetDataReferenceOffsetAndLimit
  2562.             move.l              #$0008001D,-(sp)
  2563.             moveq               #0,D0
  2564.             dc.w                $A82A
  2565.         EndM
  2566.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2567.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit
  2568.     ENDIF
  2569.  
  2570. ;
  2571. ; pascal ComponentResult GraphicsImportGetAliasedDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataRefType)
  2572. ;
  2573.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2574.         Macro
  2575.         _GraphicsImportGetAliasedDataReference
  2576.             move.l              #$0008001E,-(sp)
  2577.             moveq               #0,D0
  2578.             dc.w                $A82A
  2579.         EndM
  2580.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2581.         IMPORT_CFM_FUNCTION GraphicsImportGetAliasedDataReference
  2582.     ENDIF
  2583.  
  2584. ;
  2585. ; pascal ComponentResult GraphicsImportValidate(GraphicsImportComponent ci, Boolean *valid)
  2586. ;
  2587.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2588.         Macro
  2589.         _GraphicsImportValidate
  2590.             move.l              #$0004001F,-(sp)
  2591.             moveq               #0,D0
  2592.             dc.w                $A82A
  2593.         EndM
  2594.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2595.         IMPORT_CFM_FUNCTION GraphicsImportValidate
  2596.     ENDIF
  2597.  
  2598.  
  2599. ; typedef ComponentInstance             ImageTranscoderComponent
  2600.  
  2601.  
  2602. ImageTranscodererComponentType    EQU        'imtc'
  2603.  
  2604. ; * These are ImageTranscoder procedures *
  2605. ;
  2606. ; pascal ComponentResult ImageTranscoderBeginSequence(ImageTranscoderComponent itc, ImageDescriptionHandle srcDesc, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  2607. ;
  2608.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2609.         Macro
  2610.         _ImageTranscoderBeginSequence
  2611.             move.l              #$00100001,-(sp)
  2612.             moveq               #0,D0
  2613.             dc.w                $A82A
  2614.         EndM
  2615.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2616.         IMPORT_CFM_FUNCTION ImageTranscoderBeginSequence
  2617.     ENDIF
  2618.  
  2619. ;
  2620. ; pascal ComponentResult ImageTranscoderConvert(ImageTranscoderComponent itc, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  2621. ;
  2622.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2623.         Macro
  2624.         _ImageTranscoderConvert
  2625.             move.l              #$00100002,-(sp)
  2626.             moveq               #0,D0
  2627.             dc.w                $A82A
  2628.         EndM
  2629.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2630.         IMPORT_CFM_FUNCTION ImageTranscoderConvert
  2631.     ENDIF
  2632.  
  2633. ;
  2634. ; pascal ComponentResult ImageTranscoderDisposeData(ImageTranscoderComponent itc, void *dstData)
  2635. ;
  2636.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2637.         Macro
  2638.         _ImageTranscoderDisposeData
  2639.             move.l              #$00040003,-(sp)
  2640.             moveq               #0,D0
  2641.             dc.w                $A82A
  2642.         EndM
  2643.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2644.         IMPORT_CFM_FUNCTION ImageTranscoderDisposeData
  2645.     ENDIF
  2646.  
  2647. ;
  2648. ; pascal ComponentResult ImageTranscoderEndSequence(ImageTranscoderComponent itc)
  2649. ;
  2650.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2651.         Macro
  2652.         _ImageTranscoderEndSequence
  2653.             move.l              #$00000004,-(sp)
  2654.             moveq               #0,D0
  2655.             dc.w                $A82A
  2656.         EndM
  2657.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2658.         IMPORT_CFM_FUNCTION ImageTranscoderEndSequence
  2659.     ENDIF
  2660.  
  2661. ;  UPP call backs 
  2662.  
  2663.     ENDIF ; __IMAGECOMPRESSION__ 
  2664.  
  2665.